In communications systems with limited bandwidth, a problem can occur when multiple networks or multiple devices want to operate over the same channel using the same bandwidth. Some sort of scheme must be implemented to separate the networks in some way so that transmissions from one will not interfere with transmissions from the other.
One option for handling multiple networks or devices is to use a time division multiple access (TDMA) scheme. In a TDMA scheme, the available transmission time is broken up into multiple time slots, and each network or device is assigned one or more of the time slots. Thus, each device is given some portion of the available transmission time to use and is forced to remain silent during all other times.
However, in order to avoid having colliding messages caused by devices transmit in the same time slot, one device will generally be designated as the master or coordinator. Typically a single device will control all of the channel time in a network, though it may delegate control to other devices for some portion of the channel time. Then, whoever is in charge of a sub-portion of the available channel time can assign individual devices in the network to even smaller portions of that sub-portion of the channel time.
However, not all devices in the network will require the same amount of channel time for transmitting data. The controlling device (often called a master device) must determine somehow which devices require how much channel time so that it can be allocated in a reasonable manner. Otherwise some devices may be given too much channel time (which would be wasted if they had nothing to send), and other devices may be given too little channel time (which could cause problems if specific quality of service needs required more channel time).
One way to accomplish this is to have each device subordinate to the master device (often called the slave devices) periodically send specific requests to the master device indicating how much channel time they will need. Based on the requests from each device, the master can then allocate the channel time accordingly.
However, the passing of such requests from slave devices to the master consumes overhead. Every request to the master takes up channel time that could otherwise be used for sending data. As a result, it would be desirable to limit the amount of channel time allocated to this allocation messaging. This will in turn extend the time between channel Lime requests from each slave device.
Unfortunately this leads to a different problem in that it limits the ability of the master device to allocate channel time based on current needs for the slave devices. In this scheme, a slave device must predict how much channel time it will need until the next time for channel time requests. And if those needs change, the slave device must either suffer from lack of needed channel time, or waste assigned channel time when it has no data to transmit.
Therefore, it would be desirable to provide a TDMA channel time allocation scheme that minimizes the overhead cost, while providing flexibility to dynamically change channel time allocations without relying on a random access contention mechanism like CSMA/CA.